/************************************************************************/
/* gaoxinglong @xspeech                                                 */
/************************************************************************/

#ifndef _string_manager_h_
#define _string_manager_h_
#include <string>
#include <vector>
using namespace std;


bool CheckFile(const char* file_access_dir);


class StringManager
{
public:
	StringManager();
	StringManager(const char* str);
	StringManager(const string& str);
	~StringManager();


	StringManager& operator=(const StringManager& str);

	int SplitStringtoSpecializedSize(const char* original_string, const char* delimiter, vector<string>* results, int split_times = 1);
	string  ConvertWhite2SingleBlank(const char* original_string);
	string preprocess_string(const char* original_string);
	int FindSpecialPos(const char* original_str, const char* delimiter);


	inline string get_string() const {
		return mString;
	}
	inline void set_string(const string& other_str){
		mString = other_str;
	}
	inline bool is_empty(){
		return mString.empty();
	}

private:
	string mString;

};

#endif